home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / psychostats_xss.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  81 lines

  1. #
  2. # Script by Noam Rathaus GPLv2
  3. #
  4. # Cross Site Scripting In PsychoStats 2.2.4 Beta && Earlier
  5. # "GulfTech Security" <security@gulftech.org>
  6. # 2004-12-23 02:50
  7.  
  8. if(description)
  9. {
  10.  script_id(16057);
  11.  script_version("$Revision: 1.2 $");
  12.  script_bugtraq_id(12089);
  13.  
  14.  name["english"] = "PsychoStats Login Parameter Cross-Site Scripting";
  15.  
  16.  script_name(english:name["english"]);
  17.  
  18.  desc["english"] = "
  19. PsychoStats is a statistics generator for games. Currently there is support 
  20. for a handful of Half-Life 'MODs' including Counter-Strike, Day of Defeat, 
  21. and Natural Selection.
  22.  
  23. There is a bug in this software which makes it vulnerable to HTML and 
  24. JavaScript injection. An attacker may use this flaw to use the remote
  25. server to set up attacks against third-party users.
  26.  
  27. Solution : Upgrade to the newest version of this software
  28. Risk factor: Medium";
  29.  
  30.  script_description(english:desc["english"]);
  31.  
  32.  summary["english"] = "Checks for the presence of a PsychoStats XSS";
  33.  
  34.  script_summary(english:summary["english"]);
  35.  
  36.  script_category(ACT_ATTACK);
  37.  
  38.  script_copyright(english:"This script is Copyright (C) 2004 Noam Rathaus");
  39.  family["english"] = "CGI abuses : XSS";
  40.  family["francais"] = "Abus de CGI";
  41.  script_family(english:family["english"], francais:family["francais"]);
  42.  script_dependencie("cross_site_scripting.nasl");
  43.  script_require_ports("Services/www", 80);
  44.  exit(0);
  45. }
  46.  
  47. #
  48. # The script code starts here
  49. #
  50.  
  51.  
  52. include("http_func.inc");
  53. include("http_keepalive.inc");
  54.  
  55. port = get_http_port(default:80);
  56.  
  57. if(!get_port_state(port))exit(0);
  58. if(!can_host_php(port:port))exit(0);
  59. if (  get_kb_item(string("www/", port, "/generic_xss")) ) exit(0);
  60.  
  61. function check(loc)
  62. {
  63.  req = http_get(item: string(loc, "/login.php?login=<script>foo</script>"), port:port);
  64.  
  65.  r = http_keepalive_send_recv(port:port, data:req);
  66.  if( r == NULL )exit(0);
  67.  if('"login" value="<script>foo</script>' >< r)
  68.  {
  69.   security_warning(port);
  70.   exit(0);
  71.  }
  72. }
  73.  
  74. check(loc:"/");
  75.  
  76. foreach dir ( cgi_dirs() )
  77. {
  78.  check(loc:dir);
  79. }
  80.  
  81.